From: Florian Müllner Date: Thu, 10 Aug 2023 15:50:08 +0000 (+0200) Subject: tests/unit: Access shell sources from resource X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~337^2~1^2~2 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=9546860d053243152069ee35e57bf64cf1096a3b;p=gnome-shell.git tests/unit: Access shell sources from resource Unit tests currently load shell sources directly from the filesystem. This is currently blocking generated sources - namely config.js - to ESM, because a relative import from the source dir will fail to locate the file in the build dir. Address this by using the same GResource as gnome-shell instead of direct filesystem access, as the resource will always include all sources files at the expected location. Part-of: --- diff --git a/src/meson.build b/src/meson.build index 3e18aad93..50d89b16e 100644 --- a/src/meson.build +++ b/src/meson.build @@ -263,7 +263,7 @@ if have_networkmanager ) endif -executable('gnome-shell-perf-helper', 'shell-perf-helper.c', +executable('gnome-shell-perf-helper', 'shell-perf-helper.c', js_resources, dependencies: [gtk_dep, gio_dep, m_dep], include_directories: [conf_inc], install_dir: libexecdir, diff --git a/tests/unit/highlighter.js b/tests/unit/highlighter.js index 2bd64c178..3c0d3f188 100644 --- a/tests/unit/highlighter.js +++ b/tests/unit/highlighter.js @@ -5,8 +5,8 @@ const JsUnit = imports.jsUnit; import Pango from 'gi://Pango'; -import '../../js/ui/environment.js'; -import * as Util from '../../js/misc/util.js'; +import 'resource:///org/gnome/shell/ui/environment.js'; +import * as Util from 'resource:///org/gnome/shell/misc/util.js'; const tests = [ { diff --git a/tests/unit/injectionManager.js b/tests/unit/injectionManager.js index e727f35e9..2cedd8086 100644 --- a/tests/unit/injectionManager.js +++ b/tests/unit/injectionManager.js @@ -2,9 +2,9 @@ const JsUnit = imports.jsUnit; import GObject from 'gi://GObject'; -import '../../js/ui/environment.js'; +import 'resource:///org/gnome/shell/ui/environment.js'; -import {InjectionManager} from '../../js/extensions/extension.js'; +import {InjectionManager} from 'resource:///org/gnome/shell/extensions/extension.js'; class Object1 { count = 0; diff --git a/tests/unit/insertSorted.js b/tests/unit/insertSorted.js index 35131e60f..ec7e2095f 100644 --- a/tests/unit/insertSorted.js +++ b/tests/unit/insertSorted.js @@ -4,11 +4,11 @@ // Needed so that Util can bring some UI stuff // we don't actually use -import '../../js/ui/environment.js'; +import 'resource:///org/gnome/shell/ui/environment.js'; import * as Assertions from '../common/assertions.js'; -import * as Util from '../../js/misc/util.js'; +import * as Util from 'resource:///org/gnome/shell/misc/util.js'; let arrayInt = [1, 2, 3, 5, 6]; Util.insertSorted(arrayInt, 4, (one, two) => one - two); diff --git a/tests/unit/jsParse.js b/tests/unit/jsParse.js index bc5dd73b5..9dac85c19 100644 --- a/tests/unit/jsParse.js +++ b/tests/unit/jsParse.js @@ -4,11 +4,11 @@ const JsUnit = imports.jsUnit; -import '../../js/ui/environment.js'; +import 'resource:///org/gnome/shell/ui/environment.js'; import * as Assertions from '../common/assertions.js'; -import * as JsParse from '../../js/misc/jsParse.js'; +import * as JsParse from 'resource:///org/gnome/shell/misc/jsParse.js'; const HARNESS_COMMAND_HEADER = 'let imports = obj;' + 'let global = obj;' + diff --git a/tests/unit/markup.js b/tests/unit/markup.js index 846a886f2..885b213a2 100644 --- a/tests/unit/markup.js +++ b/tests/unit/markup.js @@ -5,10 +5,10 @@ const JsUnit = imports.jsUnit; import Pango from 'gi://Pango'; -import '../../js/ui/environment.js'; -import '../../js/ui/main.js'; +import 'resource:///org/gnome/shell/ui/environment.js'; +import 'resource:///org/gnome/shell/ui/main.js'; -import * as MessageList from '../../js/ui/messageList.js'; +import * as MessageList from 'resource:///org/gnome/shell/ui/messageList.js'; /** * Assert that `input`, assumed to be markup, gets "fixed" to `output`, diff --git a/tests/unit/params.js b/tests/unit/params.js index b297dfce6..2edb019d1 100644 --- a/tests/unit/params.js +++ b/tests/unit/params.js @@ -1,5 +1,5 @@ const JsUnit = imports.jsUnit; -import * as Params from '../../js/misc/params.js'; +import * as Params from 'resource:///org/gnome/shell/misc/params.js'; /** * Asserts that two "param" objects have the same properties diff --git a/tests/unit/signalTracker.js b/tests/unit/signalTracker.js index 99c16a084..dc1146852 100644 --- a/tests/unit/signalTracker.js +++ b/tests/unit/signalTracker.js @@ -2,13 +2,13 @@ // Test cases for version comparison -import '../../js/ui/environment.js'; +import 'resource:///org/gnome/shell/ui/environment.js'; import GObject from 'gi://GObject'; const JsUnit = imports.jsUnit; -import * as Signals from '../../js/misc/signals.js'; +import * as Signals from 'resource:///org/gnome/shell/misc/signals.js'; -import {TransientSignalHolder, registerDestroyableType} from '../../js/misc/signalTracker.js'; +import {TransientSignalHolder, registerDestroyableType} from 'resource:///org/gnome/shell/misc/signalTracker.js'; const Destroyable = GObject.registerClass({ Signals: {'destroy': {}}, diff --git a/tests/unit/url.js b/tests/unit/url.js index 7a72f8f2b..00ad66dcb 100644 --- a/tests/unit/url.js +++ b/tests/unit/url.js @@ -4,9 +4,9 @@ const JsUnit = imports.jsUnit; -import '../../js/ui/environment.js'; +import 'resource:///org/gnome/shell/ui/environment.js'; -import * as Util from '../../js/misc/util.js'; +import * as Util from 'resource:///org/gnome/shell/misc/util.js'; const tests = [ { diff --git a/tests/unit/versionCompare.js b/tests/unit/versionCompare.js index 0ce43d0e7..549afeecd 100644 --- a/tests/unit/versionCompare.js +++ b/tests/unit/versionCompare.js @@ -4,9 +4,9 @@ const JsUnit = imports.jsUnit; -import '../../js/ui/environment.js'; +import 'resource:///org/gnome/shell/ui/environment.js'; -import * as Util from '../../js/misc/util.js'; +import * as Util from 'resource:///org/gnome/shell/misc/util.js'; const tests = [ {